home *** CD-ROM | disk | FTP | other *** search
/ Amiga Collections: MegaDisc / MegaDisc 27 (1992-03)(MegaDisc Digital Publishing)(AU)(Disk 2 of 2).zip / MegaDisc 27 (1992-03)(MegaDisc Digital Publishing)(AU)(Disk 2 of 2).adf / Programming / Basic_Routines / BasicSubs / demos / Boxcalc.demo (.txt) < prev    next >
AmigaBASIC Source Code  |  1992-03-30  |  2KB  |  99 lines

  1. SCREEN 1,640,250,4,2
  2. WINDOW 2,"                              BOX CALC DEMO",,0,1
  3. GOSUB LOADCOLOURS
  4. GOSUB SCREENSETUP
  5. GOSUB WAITFOREND
  6. SYSTEM
  7.  
  8. WAITFOREND:
  9.   xs =195:xe=424:ys=187:ye=203:fillcol=12:olcol=2:GOSUB RAISED
  10.   LOCATE 25,27: COLOR 5,fillcol:PRINT "Press any key to exit demo"
  11.   A$=""
  12.   WHILE A$= ""
  13.     A$ = INKEY$
  14.   WEND
  15.   RETURN
  16.              
  17. LOADCOLOURS:
  18.   OPEN "BasicUtils&Subs:SetupFiles/Colours" FOR INPUT AS #1
  19.   FOR i = 0 TO 15
  20.   INPUT #1,A,b,c,c$
  21.   PALETTE i,A,b,c
  22.   NEXT i
  23.   CLOSE
  24.   RETURN
  25.   
  26. SCREENSETUP:
  27.   xs=3:ys=3:xe=627:ye=234:olcol=4:fillcol=0:GOSUB RAISED
  28.   bgcol=2:fillcol=6
  29.   COLOR 0,fillcol
  30.   linex$="Base Box"
  31.   xloc = 30:yloc=4:GOSUB BASECALC
  32.   GOSUB RAISED
  33.    COLOR 0,fillcol
  34.  LOCATE yloc,xloc:PRINT linex$ 
  35.    linex$="Small Box"
  36.   xloc = 30:yloc=8:GOSUB BASECALC :GOSUB SMALLBOX
  37.   GOSUB RAISED
  38.    COLOR 0,fillcol
  39.  LOCATE yloc,xloc:PRINT linex$ 
  40.   linex$="Medium Box"
  41.   xloc = 30:yloc=14:GOSUB BASECALC :GOSUB MEDIUMBOX
  42.   GOSUB RAISED
  43.    COLOR 0,fillcol
  44.  LOCATE yloc,xloc:PRINT linex$ 
  45.   linex$="Large Box"
  46.   xloc = 30:yloc=20:GOSUB BASECALC :GOSUB LARGEBOX
  47.   GOSUB RAISED
  48.    COLOR 0,fillcol
  49.  LOCATE yloc,xloc:PRINT linex$ 
  50.   linex$="Odd Size Box":xoffset=48:yoffset=6
  51.   xloc = 55:yloc=6:GOSUB BASECALC: GOSUB BOXCALC
  52.   GOSUB RAISED
  53.    COLOR 0,fillcol
  54.  LOCATE yloc,xloc:PRINT linex$ 
  55.  RETURN
  56.  
  57. BASECALC:
  58.   linelen =LEN(linex$)
  59.   xs=(xloc*8)-13:ys=(yloc*8)-11
  60.   xe=((xloc+linelen)*8)-5:ye=(yloc*8) +1
  61.   RETURN
  62.  
  63. SMALLBOX:
  64.   xoffset=8:yoffset=4
  65.   GOSUB BOXCALC
  66.   RETURN
  67.  
  68. MEDIUMBOX:
  69.   xoffset=16:yoffset=8
  70.   GOSUB BOXCALC
  71.   RETURN
  72.   
  73. LARGEBOX:
  74.   xoffset=24:yoffset=12
  75.   GOSUB BOXCALC
  76.   RETURN
  77.  
  78. BOXCALC:
  79.   xs=xs-xoffset:ys=ys-yoffset
  80.   xe=xe+xoffset:ye=ye+yoffset
  81.   RETURN
  82.   
  83. RAISED:
  84.   COLOR olcol
  85.   LINE (xs,ys)-(xe,ye),,b
  86.   LINE (xs-4,ys-2)-(xe+4,ye+2),,b
  87.   LINE (xs-2,ys-1)-(xe+2,ye+1),,b
  88.   GOSUB FILLBOX
  89.   RETURN
  90.   
  91. FILLBOX:
  92.   COLOR fillcol
  93.   LINE (xs+1,ys+1)-(xe-1,ye-1),,b
  94.   PAINT ((xs+xe)/2,(ys+ye)/2)
  95.   RETURN
  96.   
  97.     
  98.  
  99.